import { request } from './index';

// ---------- index --------------
export const fetchIndexSysconfig = () => {
  return request({ url: '/index/sysconfig', method: 'POST' });
};

// ---------- borrow --------------

// 学期
export const fetchBorrowTerm = () => {
  return request({ url: '/borrow/term', method: 'POST' });
};

/**
 * 借阅记录
 * @param {number} term_id 学期
 * @param {number} page 当前页
 * @param {number} page_size 显示几条
 */
export const fetchBorrowList = (data) => {
  return request({ url: '/borrow/list', method: 'POST', data });
};

// ---------- user --------------

/**
 * 微信登陆
 * @param {string} code 登录code
 */
export const fetchUserWxLogin = (data) => {
  return request({ url: '/user/wxlogin', method: 'POST', data });
};

/**
 * 用户信息
 * @returns { type } type // 1游客  2学生  3监护人  4教师
 */
export const fetchGetUserinfo = () => {
  return request({ url: '/user/userinfo', method: 'POST', succStatus: true });
};

// 孩子信息
export const fetchUserRelation = () => {
  return request({ url: '/user/relation', method: 'POST' });
};

// 签到记录
export const fetchUserSignRecord = () => {
  return request({ url: '/user/signRecord', method: 'POST' });
};

// 签到
export const fetchUserSignin = () => {
  return request({ url: '/user/signin', method: 'POST', succStatus: true });
};

/**
 * 绑定手机号
 * @param {number} code // 微信获取手机号的code
 */
export const fetchUserBindWxPhone = (data) => {
  return request({ url: '/user/bindWxPhone', method: 'POST', data, succStatus: true });
};

/**
 * 我的积分
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @returns { add_type } add_type 1：加 2：减
 */
export const fetchUserSocrelog = (data) => {
  return request({ url: '/user/socrelog', method: 'POST', data })
}

// ---------- activity --------------

/**
 * 阅读活动
 * @param {number} term_id // 学期id
 */
export const fetchActivityList = (data) => {
  return request({ url: '/activity/list', method: 'POST', data });
};

/**
 * 活动详情
 * @param {number} hd_id 活动id
 * @param {number} term_id 学期id
 * @returns { { is_can_enroll, is_enroll } } is_can_enroll 是否可以报名 is_enroll 是否已报名
 */
export const fetchActivityDetail = (data) => {
  return request({ url: '/activity/detail', method: 'POST', data });
};

/**
 * 报名接口
 * @param {number} hd_id 活动id
 * @param {number} term_id 学期
 */
export const fetchActivityAddrecord = (data) => {
  return request({ url: '/activity/addrecord', method: 'POST', data, succStatus: true });
};

/**
 * 报名记录
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @param {number} term_id 学期
 */
export const fetchActivityRecord = (data) => {
  return request({ url: '/activity/record', method: 'POST', data });
};

/**
 * 历史活动
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @param {number} term_id 学期
 */
export const fetchActivityHistory = (data) => {
  return request({ url: '/activity/history', method: 'POST', data });
};

/**
 * 评论列表
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @param {number} hd_id 活动id
 * @param {number} term_id 学期
 */
export const fetchActivitCommonlist = (data) => {
  return request({ url: '/activity/commonlist', method: 'POST', data });
};

/**
 * 添加评论
 * @param {number} comment 留言内容
 * @param {number} hd_id 活动id
 * @param {number} term_id 学期
 */
export const fetchActivitAddcommon = (data) => {
  return request({ url: '/activity/addcommon', method: 'POST', data, succStatus: true });
};

// ---------- address --------------

/**
 * 收货地址信息
 * @param {number} address_id 收货地址id 可选
 *
 */
export const fetchAddressInfo = (data) => {
  return request({ url: '/address/info', method: 'POST', data });
};

// 收货地址列表
export const fetchAddressList = () => {
  return request({ url: '/address/list', method: 'POST' });
};

/**
 * 添加地址
 * @param {number} code 区code 必需
 * @param {string} address 地址 必需
 * @param {string} name 姓名 必需
 * @param {string} phone 手机 必需
 * @param {number} is_def 是否默认 1 不默认 2默认 可选
 *
 */
export const fetchAddressAdd = (data) => {
  return request({ url: '/address/add', method: 'POST', data });
};

/**
 * 更新地址
 * @param {number} id 地址ID 必需
 * @param {number} code 区code 必需
 * @param {string} address 地址 必需
 * @param {string} name 姓名 必需
 * @param {string} phone 手机 必需
 * @param {number} is_def 是否默认 1 不默认 2默认 可选
 *
 */
export const fetchAddressUpdate = (data) => {
  return request({ url: '/address/update', method: 'POST', data });
};

// ---------- shop --------------

// 商品类型
export const fetchShopSptype = () => {
  return request({ url: '/shop/sptype', method: 'POST' });
};

// 商城首页
export const fetchShopIndex = () => {
  return request({ url: '/shop/index', method: 'POST' });
};

/**
 * 商品详情
 * @param {number} goods_id 商品id
 */
export const fetchShopDetail = (data) => {
  return request({ url: '/shop/detail', method: 'POST', data });
};

/**
 * 加入购物车
 * @param {number} goods_id 商品id
 * @param {number} num 商品数量
 */
export const fetchShopAddcart = (data) => {
  return request({ url: '/shop/addcart', method: 'POST', data, succStatus: true });
};

/**
 * 删除购物车
 * @param {number} cart_id 购物车id
 */
export const fetchShopDelcart = (data) => {
  return request({ url: '/shop/delCart', method: 'POST', data, succStatus: true });
};

// 购物车
export const fetchShopCart = () => {
  return request({ url: '/shop/cart', method: 'POST' });
};

// 搜索记录及热门搜索
export const fetchShopSearchindex = () => {
  return request({ url: '/shop/searchindex', method: 'POST' });
};

// 删除历史搜索记录
export const fetchShopDelSearchHistory = () => {
  return request({ url: '/shop/delSearchHistory', method: 'POST', succStatus: true });
};

/**
 * 通过搜素关键词查询商品列表
 * @param {string} search 关键字 可选
 * @param {string} page 页码 可选
 * @param {string} page_size 一页展示数量 可选
 * @param {string} orderby_price 价格排序 可选
 * @param {string} orderby_stock 销量排序 可选
 */
export const fetchShopSearchList = (data) => {
  return request({ url: '/shop/search', method: 'POST', data });
};

/**
 * 结算信息页详情
 * @param {string} cart_ids 购物车id 多个用, 分隔 可选
 */
export const fetchShopTradeInfo = (data) => {
  return request({ url: '/shop/tradeInfo', method: 'POST', data });
};

/**
 * 提交结算信息
 * @param {string} cart_ids 购物车id 多个用, 分隔 可选
 * @param {number} add_id 地址id 可选
 * @param {number} pay_type 支付方式 可选
 * @param {string} trade_no 交易编号 可选
 * @param {string} desc 备注 可选
 */
export const fetchShopTrade = (data) => {
  return request({ url: '/shop/trade', method: 'POST', data });
};

/**
 * 购买记录
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @param {number} term_id 学期
 */
export const fetchShopRecordList = (data) => {
  return request({ url: '/shop/record', method: 'POST', data });
};

// ---------- scoreshop --------------
// 积分商品类型
export const fetchScoreshopSptype = () => {
  return request({ url: '/scoreshop/dhsptype', method: 'POST' });
};

// 积分商城首页
export const fetchScoreshopIndex = () => {
  return request({ url: '/scoreshop/index', method: 'POST' });
};

/**
 * 积分商品详情
 * @param {number} goods_id 商品id
 */
export const fetchScoreshopDetail = (data) => {
  return request({ url: '/scoreshop/detail', method: 'POST', data });
};

/**
 * 结算兑换信息页详情
 * @param {string} goods_id 商品id 可选
 */
export const fetchScoreshopTradeInfo = (data) => {
  return request({ url: '/scoreshop/tradeInfo', method: 'POST', data });
};

/**
 * 立即兑换
 * @param {string} goods_id 商品id 可选
 * @param {number} add_id 地址id 可选
 * @param {string} trade_no 交易编号 可选
 * @param {string} desc 备注 可选
 */
export const fetchScoreshopTrade = (data) => {
  return request({ url: '/scoreshop/trade', method: 'POST', data });
};

/**
 * 兑换记录列表
 * @param {number} page 当前页
 * @param {number} page_size 当前展示几条
 * @param {number} term_id 学期
 */
export const fetchScoreshopRecordList = (data) => {
  return request({ url: '/scoreshop/record', method: 'POST', data });
};
